canon/registries/T0_Item_Derivation_Rule [DRAFT v0.1]/Sheet1.csv
12 rows
| rule_id | item_family | base_registry | base_key_column | instance_key_form | axis_refs | materialization_policy | reachability_expr | derived_property_map | exception_materialized_class | sigma_table_key_form | arc_cell_formula | slice_cell_formula | count_basis | canon_ref | source_ref | notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| IDR_01 | weapon_instance | T0_Weapon_Registry | weapon_id | {weapon_id}|{rarity_token}|{tier_level}|{region_id} | AX_01;AX_02;AX_03;AX_04;AX_05;AX_12;AX_13 | DERIVED | rarity.obtainable_by_roll==TRUE & weapon.canonical_chapter_acquisition<=chapter & tier_level<=player.mastery | imprint_slot_count=T0_Rarity_Grade.imprint_slot_count; ability_count=T0_Rarity_Grade.ability_count; roll_window=T0_Rarity_Grade.roll_window_ordinal | legendary_weapon (IDR_02); signature story objects (EQ_0001 pattern) | {rarity_token}|{slot_axis} | 72 types x 6 art-bearing grades = 432 grade variants (density_model.csv D1-23, counted) x up to 12 presentation-tier variants x the region-of-origin pair space | 11 types x 3 rollable art-bearing grades x 5 Outer-Order levels x 13 region rows | ARITHMETIC ON CITED AXIS CARDINALITIES -- not a canon number, not a content target, and never to be quoted as one. CVD s17.12 carries no item count. | HL_0056;T1_Combat_System_Spec s13 | docs/proposals/ITEMIZATION_GROUNDING.md s1.1;s1.8; docs/concept_art/density_model.csv D1-23 (grade_variants = weapon_types x art_bearing_grades(6)) | examples_not_limits; minted 2026-08-04. THE RULE THIS TABLE EXISTS TO ENFORCE: an item instance is a CELL of the matrix, computed from the axes, and is never a hand-listed row. A row is written only where materialization_policy says MATERIALIZED -- and each of those carries its canon reason. This is |
| IDR_02 | legendary_weapon_instance | T0_Weapon_Registry | weapon_id | LEG_{weapon_id} | AX_01;AX_04;AX_14 | MATERIALIZED | questline.completed(LEG_{weapon_id}) & mastery_gate_per_item | ability_pool_size=4; grade=legendary; unique_per_type=TRUE | all 72 -- one legendary instance per weapon type | 72 (one per type) | 5 seats named in the slice (flores caci Shield line anchored WPN_033; bali pusaka-keris; sumatra_java a technique-derived legendary; ethiopia the Shotel line; south_india LEG_WPN_038/040/042/047) | COUNTED from region-page s6 seats + T0_Chapter_Index CH_07's legendary_quest_in_chapter cell | T0_Rarity_Grade legendary row (composition RULED, twenty-sixth sitting item 3) | T1_Region_Page_Template s6 ('the legendary candidate per the 72-weapon canon with the four-ability pool'); T0_Chapter_Index CH_07 carries LEG_WPN_038;LEG_WPN_040;LEG_WPN_042;LEG_WPN_047; INGEST_GDD s12 records the authored pool shape as '4-good + 4-evil ability pool per weapon type, random assignmen | examples_not_limits; minted 2026-08-04. THE RULE THIS TABLE EXISTS TO ENFORCE: an item instance is a CELL of the matrix, computed from the axes, and is never a hand-listed row. A row is written only where materialization_policy says MATERIALIZED -- and each of those carries its canon reason. MATERIA | |
| IDR_03 | equipment_instance | T0_Equipment_Registry | equip_id | {equip_slot}|{rarity_token}|{tier_level}|{region_id} | AX_02;AX_03;AX_04;AX_05;AX_07;AX_08 | DERIVED | rarity.obtainable_by_roll==TRUE & slot.roster_status==ruled & tier_level<=player.mastery | imprint_slot_count=T0_Rarity_Grade.imprint_slot_count; layer_order=T0_Equip_Slot_Registry.layer_order | legendary_armour (IDR_04); signature story objects (EQ_0001) | {rarity_token}|{slot_axis} | ruled slot roster (THE 16, slot_axis=paper_doll) x 6 art-bearing grades x 12 tier bands x 76 regions | 19 base types (all on the RULED 16 doll after the 2026-08-05 reconciliation: 12 from the prior paper_doll roster + the 7 former seat plates, whose slot_axis_set moved seat_element -> paper_doll because the vril seat became a property of the piece rather than a slot of its own) x 3 rollable grades x | ARITHMETIC ON CITED AXIS CARDINALITIES -- not a canon number, not a content target, and never to be quoted as one. CVD s17.12 carries no item count. | GENRE_BASELINE L20;L63;D-GARMENT (thirty-second sitting) | The ruled architecture: 'character models build as an undergarment base with equipment layered on top, so garment art never blocks the model' (docs/spine/CH_02.md L238); 'Outfit states are equipment layers, not character meshes: mesh_id_ref stays the base body for every character and each outfit sta | examples_not_limits; minted 2026-08-04. THE RULE THIS TABLE EXISTS TO ENFORCE: an item instance is a CELL of the matrix, computed from the axes, and is never a hand-listed row. A row is written only where materialization_policy says MATERIALIZED -- and each of those carries its canon reason. Before |
| IDR_04 | legendary_armour_instance | T0_Equip_Slot_Registry | slot_token | LEG_ARM_{seat_ordinal} | AX_07;AX_11;AX_04 | MATERIALIZED | realm_road_reached(CH_66..CH_74) & questline.completed(LEG_ARM_{seat_ordinal}) | grade=legendary; seat_bound=TRUE | the seven ratified vril-seat slots | 7 (LEG_ARM_001..007) | 0 -- the realm road is CH_66..CH_74, entirely outside the slice | COUNTED from the ruling text | T0_Rarity_Grade legendary row | Josh, twenty-sixth sitting 2026-07-30 item 3, recorded verbatim in T0_Rarity_Grade's legendary row: 'ARMOUR GETS LEGENDARIES TOO, sourced through the MYTHOLOGICAL REALMS leading up to the final chapters -- the realm road CH_66..CH_74 is the legendary-armour source lane (LEG_ARM_001..007, the seven r | examples_not_limits; minted 2026-08-04. THE RULE THIS TABLE EXISTS TO ENFORCE: an item instance is a CELL of the matrix, computed from the axes, and is never a hand-listed row. A row is written only where materialization_policy says MATERIALIZED -- and each of those carries its canon reason. Landed | |
| IDR_05 | consumable_instance | T0_Equipment_Registry | equip_id | {item_class}|{rarity_token}|{tier_level}|{region_id} | AX_02;AX_03;AX_04;AX_06;AX_08;AX_14 | DERIVED | item_class in [potion,poison,bomb,grenade] & trade.tier>=recipe.required_tier_level | charges=recipe.output_quantity; imprint_slot_count=T0_Rarity_Grade.imprint_slot_count | none | {rarity_token}|{slot_axis} | 4 consumable classes x 6 grades x 12 tiers x 76 regions | 0 producible -- Trade 5 Alchemy's ancient home is Ch 19 and Trade 8 Engineering's is Ch 27, both outside the slice | ARITHMETIC ON CITED AXIS CARDINALITIES -- not a canon number, not a content target, and never to be quoted as one. CVD s17.12 carries no item count. | T1_Combat_System_Spec s5;s9.1 | T1_Combat s5 'Health does not passively self-regenerate... restored only through vril-healing at the Heart-seat, Alchemy potions from Trade 5, and recharge and rest sites'; s9.1 'Consumable combat items are crafted by Engineering (bombs) and Alchemy (potions and poisons)... Spellcraft and consumable | examples_not_limits; minted 2026-08-04. THE RULE THIS TABLE EXISTS TO ENFORCE: an item instance is a CELL of the matrix, computed from the axes, and is never a hand-listed row. A row is written only where materialization_policy says MATERIALIZED -- and each of those carries its canon reason. REPORTE |
| IDR_06 | imprint_roll_table | T0_Imprint_Affix | affix_id | {rarity_token}|{slot_axis} | AX_02;AX_05;AX_06 | DERIVED | rarity.imprint_slot_count>0 & rarity.obtainable_by_roll==TRUE | sigma_floor=-1; sigma_ceiling=+1; reset_on=drop; reroll_cost=deterministic_rising; lock_floor_after=5 | none | {rarity_token}|{slot_axis} | 4 imprint-bearing rollable grades x 5 live slot axes = 20 roll tables | 0 reachable -- RN_0018's craft path needs Trade 8 or Trade 5 base plus Trade 9 Inscription at tier-6, and Trade 9's ancient home is Ch 15 | COUNTED from the live grade ladder x the live slot_axis seeds | HL_0061;RN_0018 | T1_Combat_System_Spec s13: 'Every imprint roll is bound within +/-1 sigma per T1_RNG_Sigma_Constraint_System and hard line HL_0061, with the anti-streak floor at -1 sigma and the mandatory ceiling at +1 sigma, resetting on drop. Each imprint-roll table maintains its own sigma counter, so a rarity gr | examples_not_limits; minted 2026-08-04. THE RULE THIS TABLE EXISTS TO ENFORCE: an item instance is a CELL of the matrix, computed from the axes, and is never a hand-listed row. A row is written only where materialization_policy says MATERIALIZED -- and each of those carries its canon reason. 'Each i |
| IDR_07 | ability_variant | T0_Ability_Tree_Registry | ability_id | {ability_id}|{tier_level}|{bonus_lane}|{pick_id}|{eam_seat}|{integrity_band} | AX_09;AX_03;AX_10;AX_11;AX_12;AX_13 | DERIVED | ability.tier_numerical<=player.mastery & (ability.integrity_band_lock==unlocked | player.integrity_band in ability.integrity_band_lock) | vril_cost=T0_Ability_Tree_Registry.vril_cost_class; cast_pattern=T0_Ability_Tree_Registry.cast_pattern; persistence=T0_Ability_Tree_Registry.persistence_class | none | 185 identities x 12 levels x 2 bonus lanes, crossed with the bonded-familiar EAM seat (7 seats) and the 5 integrity bands | the tier 1-5 subset of the 185 x 5 levels x 2 lanes | ARITHMETIC ON CITED AXIS CARDINALITIES -- not a canon number, not a content target, and never to be quoted as one. CVD s17.12 carries no item count. | COMBAT_PROGRAM_ADDENDUM s7;s9;s10 | Measured axes on all 185 rows: element / layer (A 111, B 48, C 26) / tier_numerical / integrity_band_lock / vril_cost_class (14 distinct) / cast_pattern / persistence_class / eam_pair_eligibility (every row carries one) | examples_not_limits; minted 2026-08-04. THE RULE THIS TABLE EXISTS TO ENFORCE: an item instance is a CELL of the matrix, computed from the axes, and is never a hand-listed row. A row is written only where materialization_policy says MATERIALIZED -- and each of those carries its canon reason. '185 ab | |
| IDR_08 | material_instance | T0_Mineral_Registry;T0_Flora_Registry;T0_Gather_Node_Registry | mineral_id;flora_id;node_id | {material_id}|{region_id}|{rarity_class} | AX_02;AX_04;AX_14 | DERIVED | region.reached & node.chapter_gate_min<=chapter | rarity_class resolves against T0_Rarity_Grade at axis=item_grade (the rarity-firewall class (d) reconciliation) | none | material rows x 76 regions | MEASURED HOLE: minerals 19 / flora 25 / gather nodes 24 resolve to only FOUR regions (flores_island, bali, sumatra_java, angkor_khmer) -- nine of the thirteen slice regions carry zero material rows | MEASURED, not computed | T1_Trades_Master s9.2 | T1_Trades_Master s9.2 'Scarcity is real because materials are specific to geographic regions and require physical presence to obtain. Regional specialization across the 77 regions creates genuine trade dependencies.' | examples_not_limits; minted 2026-08-04. THE RULE THIS TABLE EXISTS TO ENFORCE: an item instance is a CELL of the matrix, computed from the axes, and is never a hand-listed row. A row is written only where materialization_policy says MATERIALIZED -- and each of those carries its canon reason. THE GAT | |
| IDR_09 | recipe_instance | T0_Recipe | recipe_id | {recipe_id} | AX_02;AX_03;AX_04;AX_08;AX_14 | MATERIALIZED | trade.tier>=required_tier_level & station.available & (cross_trade_second_ref==NONE | second_trade.tier>=cross_trade_second_tier) | output rarity resolves against T0_Rarity_Grade; crafting is DOUBLE-GATED on rarity (materials + source-item grade) AND proficiency | all recipes are authored rows | the recipe catalog is authoring, not arithmetic | 16 rows landed this pass -- every one either cites its inputs or declares them unauthored | AUTHORED, never computed | GENRE_BASELINE L91;HL_0083 | GENRE_BASELINE: 'Mint T0_Recipe with the standard schema -- recipe_id, output_item_ref + quantity, inputs[item_ref x quantity], required trade + tier, required station/site class, discovery state -- as a schema act rather than a design question, leaving only the recipe CONTENT as authoring' | examples_not_limits; minted 2026-08-04. THE RULE THIS TABLE EXISTS TO ENFORCE: an item instance is a CELL of the matrix, computed from the axes, and is never a hand-listed row. A row is written only where materialization_policy says MATERIALIZED -- and each of those carries its canon reason. T1_Comb | |
| IDR_10 | regional_weapon_bonus | T0_Regional_Combat_Modifier | modifier_id | {weapon_id}|{region_id} | AX_01;AX_04 | DERIVED | weapon.cultural_region_ref==region_id | regional_bonus_class=T0_Regional_Combat_Modifier.weapon_of_origin_bonus_class (origin join, the region is the authority and the weapon inherits); arena modifier space = the row's stance_system_class + environment_hazard_class + movement_modifier_class + ability_interaction_class per COMBAT_ENCOUNTER | no_origin_bonus (rift_valley -- a DECLARED vocabulary member: the region anchors no weapon of origin, so no origin bonus exists to grant) | 72 weapon types x their region-of-origin pairs, plus the cross-region carry space | 12 RCM region rows x 5 axes = 60 authored class cells; the reachable weapon-origin pairs are the 10 weapon types whose cultural_region_ref names one of those 12 regions, the other 62 being 48 PENDING_RCM_ROW (origin real, region row not yet minted) and 14 NO_ORIGIN_REGION (canon attributes no region | ARITHMETIC ON CITED AXIS CARDINALITIES -- not a canon number, not a content target, and never to be quoted as one. CVD s17.12 carries no item count. | CVD s12.5 Pillar 10 | T0_Regional_Combat_Modifier 12 rows measured with stance_system_class / environment_hazard_class / weapon_of_origin_bonus_class / movement_modifier_class / ability_interaction_class ALL 12/12; T0_Weapon_Registry.regional_bonus_class 72/72 (script-derived by harness/apply_pillar10_vocab.py, never han | examples_not_limits; minted 2026-08-04. THE RULE THIS TABLE EXISTS TO ENFORCE: an item instance is a CELL of the matrix, computed from the axes, and is never a hand-listed row. A row is written only where materialization_policy says MATERIALIZED -- and each of those carries its canon reason. UNBLOCK | |
| IDR_11 | trade_good_instance | T0_Trade_Good | good_id | {good_id} | AX_04;AX_15 | MATERIALIZED | region.reached & good.chapter_gate_min<=chapter | price is NEVER stored -- the trade-value lens is presentation-only per the fourteenth-sitting ruling | all trade goods are region-attested authored rows | one set per region page s9 | the slice set landed this pass, cited per row | AUTHORED from region-page s9, never computed | D-ECONOMY-MEDIUM;T1_Region_Page_Template s9 | T1_Region_Page_Template s9 requires 'trade goods, routes, currency, markets' on every region page; T1_Trades_Master s9.2 'Tier A Solo Base players engage trade interdependence through NPC trader networks' | examples_not_limits; minted 2026-08-04. THE RULE THIS TABLE EXISTS TO ENFORCE: an item instance is a CELL of the matrix, computed from the axes, and is never a hand-listed row. A row is written only where materialization_policy says MATERIALIZED -- and each of those carries its canon reason. MATERIA | |
| IDR_12 | exchange_medium | T0_Exchange_Medium | medium_id | {region_id} | AX_04;AX_15 | MATERIALIZED | region.reached | value_lens=presentation_only (displayed, never stored, never spendable) | all exchange media are region-attested authored rows | one per region row | 13 (the slice region rows) | AUTHORED from region-page s9, never computed | D-ECONOMY-MEDIUM | Josh 2026-07-24 option B: barter + region-appropriate proto-currency where the real region used it; vendors price in the local medium; opt A (universal coin from Ch 2) REJECTED as ahistorical for the 1200 CE regions; opt C (no vendor economy) REJECTED as leaving materials with no sink | examples_not_limits; minted 2026-08-04. THE RULE THIS TABLE EXISTS TO ENFORCE: an item instance is a CELL of the matrix, computed from the axes, and is never a hand-listed row. A row is written only where materialization_policy says MATERIALIZED -- and each of those carries its canon reason. The rul |